#include <STC89C5xRC.H>
#include <INTRINS.H>
unsigned char NiXieTable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

void Delay(unsigned int xms)		//@11.0592MHz
{
	unsigned char i, j;
	while(xms)
	{
		_nop_();
		i = 2;
		j = 199;
		do
		{
			while (--j);
		} while (--i);
		xms--;
	}

}



void NiXie(unsigned char Location,Number)
{
	switch(Location)
	{
		case 1:P24=1;P23=1;P22=1;break;
		case 2:P24=1;P23=1;P22=0;break;
		case 3:P24=1;P23=0;P22=1;break;
		case 4:P24=1;P23=0;P22=0;break;
		case 5:P24=0;P23=1;P22=1;break;
		case 6:P24=0;P23=1;P22=0;break;
		case 7:P24=0;P23=0;P22=1;break;
		case 8:P24=0;P23=0;P22=0;break;
	}
	
	P0=NiXieTable[Number];
	Delay(1);
	P0=0x00;//消影
	
//		switch(Number)
//	{	
//		case 0:P0=0x3F;break;
//		case 1:P0=0x06;break;
//		case 2:P0=0x5B;break;
//		case 3:P0=0x4F;break;
//		case 4:P0=0x66;break;
//		case 5:P0=0x6D;break;
//		case 6:P0=0x7D;break;
//		case 7:P0=0x07;break;
//		case 8:P0=0x7F;break;
//		case 9:P0=0x6F;break;
//	}
}
	

void main()
{
//	P24=1;//138译码器
//	P23=0;
//	P22=1;
//	P0=0x7D;
	
	while(1)
	{
		NiXie(1,1);
//		Delay(4);
		NiXie(2,2);
//		Delay(4);
		NiXie(3,3);
//		Delay(4);
	}
}

//